/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cc.altius.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author mudassar
 */
@Entity
@Table(name = "ticket_trans")
public class TransTicket implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "TICKET_TRANS_ID")
    private int ticketTransId;
    @JoinColumn(name = "TICKET_ID", referencedColumnName = "TICKET_ID")
    @ManyToOne(optional = false)
    private Ticket ticket;
    @Column(name = "LAST_MODIFIED_DATE")
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastModifiedDate;
    @JoinColumn(name = "LAST_MODIFIED_BY", referencedColumnName = "USER_ID")
    @ManyToOne(optional = false)
    private User lastModifiedBy;
    @Lob
    @Column(name = "NOTES")
    private String notes;
    @JoinColumn(name = "CALL_TYPE_ID", referencedColumnName = "CALL_TYPE_ID")
    @ManyToOne(optional = false)
    private CallType callType;
    @JoinColumn(name = "DISPOSITION_ID", referencedColumnName = "DISPOSITION_ID")
    @ManyToOne(optional = false)
    private Disposition disposition;
    @Column(name = "CHEIF_COMPLAINT")
    private String cheifComplaint;
    @Column(name = "FOLLOWUP_DATE")
    @Temporal(TemporalType.TIMESTAMP)
    private Date followupDate;
    @Column(name = "STATUS")
    private String status;
    @JoinColumn(name = "DOCTOR_ID", referencedColumnName = "DOCTOR_ID")
    @ManyToOne
    private Doctor doctor;
    @JoinColumn(name = "HOSPITAL_ID", referencedColumnName = "HOSPITAL_ID")
    @ManyToOne
    @Basic(optional = true)
    private Hospital hospital;
    @JoinColumn(name = "APP_SPECIALIST_ID", referencedColumnName = "APP_SPECIALIST_ID")
    @ManyToOne
    @Basic(optional = true)
    private AppSpecialist appSpecialist;
    @JoinColumn(name = "ASSIGNED_TO", referencedColumnName = "USER_ID")
    @ManyToOne(optional = false)
    private User assignedTo;
    @Column(name = "CALL_RECORDING_ID")
    private String recordingId;

    public String getRecordingId() {
        return recordingId;
    }

    public void setRecordingId(String recordingId) {
        this.recordingId = recordingId;
    }

    public AppSpecialist getAppSpecialist() {
        return appSpecialist;
    }

    public void setAppSpecialist(AppSpecialist appSpecialist) {
        this.appSpecialist = appSpecialist;
    }

    public User getAssignedTo() {
        return assignedTo;
    }

    public void setAssignedTo(User assignedTo) {
        this.assignedTo = assignedTo;
    }

    public CallType getCallType() {
        return callType;
    }

    public void setCallType(CallType callType) {
        this.callType = callType;
    }

    public String getCheifComplaint() {
        return cheifComplaint;
    }

    public void setCheifComplaint(String cheifComplaint) {
        this.cheifComplaint = cheifComplaint;
    }

    public Ticket getTicket() {
        return ticket;
    }

    public void setTicket(Ticket ticket) {
        this.ticket = ticket;
    }

    public Disposition getDisposition() {
        return disposition;
    }

    public void setDisposition(Disposition disposition) {
        this.disposition = disposition;
    }

    public Doctor getDoctor() {
        return doctor;
    }

    public void setDoctor(Doctor doctor) {
        this.doctor = doctor;
    }

    public Date getFollowupDate() {
        return followupDate;
    }

    public void setFollowupDate(Date followupDate) {
        this.followupDate = followupDate;
    }

    public Hospital getHospital() {
        return hospital;
    }

    public void setHospital(Hospital hospital) {
        this.hospital = hospital;
    }

    public User getLastModifiedBy() {
        return lastModifiedBy;
    }

    public void setLastModifiedBy(User lastModifiedBy) {
        this.lastModifiedBy = lastModifiedBy;
    }

    public Date getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(Date lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public int getTicketTransId() {
        return ticketTransId;
    }

    public void setTicketTransId(int ticketTransId) {
        this.ticketTransId = ticketTransId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "TransTicket{" + "ticketTransId=" + ticketTransId + ", ticket=" + ticket + ", lastModifiedDate=" + lastModifiedDate + ", lastModifiedBy=" + lastModifiedBy + ", notes=" + notes + ", callType=" + callType + ", disposition=" + disposition + ", cheifComplaint=" + cheifComplaint + ", followupDate=" + followupDate + ", status=" + status + ", doctor=" + doctor + ", hospital=" + hospital + ", appSpecialist=" + appSpecialist + ", assignedTo=" + assignedTo + '}';
    }
}
